home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-27 | 74.2 KB | 1,011 lines |
- 400_01/ Socket++
- 400_02/ Socket++, by Gnanasekaran Swaminathan
- | (Centreville, VA), is an iostream-like class
- | for Unix and inet sockets, pipes, and
- | socketpairs. Socket++ classes can be used more
- | effectively than directly calling the
- | underlying low-level system functions. Since
- | Socket++ has the same interface as the LibG++
- | iostream (i.e. like cout and cin), it
- | automatically performs type-safe input and
- | output. Even though Socket++ is very easy to
- | use, it still supports a full complement of
- | socket options including: error reporting,
- | debug mode, keepalives, routing, broadcast
- | datagrams, out-of-band data, and buffer
- | resizing. Socket++ includes a mechanism for
- | handling timeouts gracefully as well. Socket++
- | runs on many Unix platforms including Sun
- | Sparc, IBM RS/6000, DECstation, and SGI Indigo
- | boxes. Socket++ version 1.4, released on
- | Jun-93
- 401_01/ SGPC or "Simple Genetic Programming in C", by
- | Walter Alden Tackett and Aviram Carmi,
- | supports the "Adaptive Automatic Program
- | Induction" method defined by Koza and Rice
- | (Stanford University). The Koza and Rice
- | method generates LISP programs designed to
- | solve problems specified by the user. Tackett
- | and Carmi have produced SGPC by porting the
- | underlying algorithm for program creation from
- | LISP to C. Thus, SGPC is a C program that
- | generates LISP genetic programs as its output.
- | Since SGPC is now available in C, it offers
- | greater portability and a 25 to 50 times speed
- | improvement, according to Tackett and Carmi.
- | One notable improvement over the original is
- | the ability to handle multiple populations.
- | SGPC has been successfully built on many Unix
- | workstations including Sun Sparcs,
- | DECstations, HP-UX, and SGI Indigo. SGPC
- | version 1.0 is now available as volume #401 in
- | the CUG Library.
- 401_02/ SGPC: Simple Genetic Programming in C 2/2
- 402_01/ CForms, by Lars Berntzon (Stockholm, Sweden), is
- | a tool for building interactive forms-driven
- | applications. CForms applications can run on
- | nany type of library supported by the "curses"
- | library. CForms uses a language-based design
- | to define forms. An application may contain C
- | source modules, field pictures, field
- | definitions, literals, and events. CForms
- | applications must be compiled with the CFC
- | compiler and linked with the CFL linker.
- | CForms runs on most Unix SYSV compatible
- | platforms including SunOS, Dell-SVR4, and Diab
- | SYSV.3. It requires a curses library and yacc
- | or GNU Bison. CForms version 2.1 is now
- | available as volume #402 in the CUG Library.
- 403_01/ Patrick KO Shu Pui (Tai Po, Hong Kong)
- | contributes the Small Matrix Toolbox for C
- | Programmers. The toolbox is a set of C
- | functions for matrix creation, arithmetic,
- | inversion, and solving linear equations. This
- | product has been released as shareware.
- | Although you may freely use it for academic
- | purposes, commercial users must register with
- | the author for $25. The Small Matrix Toolbox
- | for C version 0.41 (released 09/23/93)
- 404_01/ Alain Coëtmeur of the Informatique-CDC (Arcueil,
- | France) presents two new packages that bring
- | traditional Unix tools into the 90's: Bison++
- | and Flex++. Coetmeur's Bison++ is derived
- | directly from GNU Bison, the popular
- | replacement for the Unix utility called YACC
- | ("Yet Another Compiler Compiler"). Since its
- | introduction two decades ago, the YACC
- | software interface remains the most popular
- | for developing compilers, assemblers, and
- | other text processing applications. Any
- | language that can be handled by a LALR(1)
- | parser is a good candidate for YACC use. 1/3
- 404_02/ Bison++: YACC for C++ 2/3
- 404_03/ Bison++: YACC for C++ 3/3
- 405_01/ Coëtmeur's other contribution to the CUG Library
- | is the Flex++ package. Like Bison++, Flex++
- | retains downward compatability with existing C
- | programs while offering the benefits of C++
- | classes. Coetmeur's Flex++ is derived
- | directly from GNU Flex ("Fast LEX"), the
- | popular replacement for the Unix utility
- | called LEX. Since its introduction two
- | decades ago, the LEX software interface
- | remains very popular for developing front-end
- | lexical analyzers for YACC and standalone text
- | processing applications. A LEX solution is
- | ideal for matching both simple and complex
- | patterns of characters. 1/3
- 405_02/ Flex++: Lexical Analyser for C++ 2/3
- 405_03/ Flex++: Lexical Analyser for C++ 3/3
- 406_01/ Mike Rejsa (Brooklyn Park, MN) submits his
- | translator for converting ANSI-style C code
- | and declarations to older Kernighan and
- | Ritchie (K&R) syntax. Most C programmers have
- | switched over to ANSI style coding techniques
- | sometime in the last two or three years. The
- | ANSI syntax allows for for more comfortably
- | readable code and brings you closer to what
- | you really wanted to write. For example,
- | declaring parameters in the prototype and use
- | of const, signed, and volatile storage class
- | modifiers. However, in the course of
- | maintaining older Unix systems, you may sooner
- | or later have to handle the inelegant business
- | of removing ANSI C specific constructs
- | accurately from a newer source. ATOC version
- | 1.08 (released 11/15/93) has been designated
- | CUG 406A.
- 407_01/ PSUtils, by Angus Duggan (Edinburgh, Scotland),
- | is an assortment of utilities for manipulating
- | PostScript documents. Page selection and
- | rearrangement are supported, including
- | arrangement into signatures for booklet
- | printing, and page merging for n-up printing.
- | The complete collection of PSUtils Release
- | 1-PL11 (June 1993) is now available as CUG
- | library volume #407.
- 408_01/ Daniel Fandrich (Clearbrook, B.C., Canada) offers
- | his SNews threaded Usenet newsreader add-on
- | for PCs running a shareware package that
- | provides dial-up e-mail access to public
- | networks such as the UUCP network and/or the
- | Internet. SNews can built using Borland Turbo
- | C for either MS-DOS or OS/2. The CUG Library
- | distribution includes MS-DOS executable and
- | full source on a single diskette. SNews
- | version 1.91 (released 08/25/93) is
- | immediately available as CUG volume #408. 1/2
- 408_02/ SNEWS: threaded Usenet newsreader for PCs 2/2
- 409_01/ Kendall Bennett of SciTech Software (Melbourne,
- | Australia) submits his SuperVGA VESA VBE test
- | kit and Universal VESA VBE. The SuperVGA VBE
- | VESA test kit thoroughly tests and
- | demonstrates the VBE BIOS calls. The
- | Universal VESA VBE is a drop-in replacement
- | for an existing VBE driver you might or might
- | not already have. As you may recall, the
- | Video Electronics Standards Association (VESA)
- | has established criteria allowing
- | interoperability of SuperVGA hardware and
- | software. The VESA BIOS Extensions (VBE)
- | provide the ability to address video modes
- | beyond regular VGA (640x480x16) in a
- | hardware-independent fashion. Although the
- | test kit includes full source code, the
- | shareware VBE replacement driver offers source
- | code for an additional licensing fee from
- | SciTech Software. Both are immediately
- | available on a single diskette as CUG volume
- | #409.
- 410_01/ Gary A. Allen, Jr., (Prentice Center, Queensland,
- | Australia) submits his PART utility for
- | examining the partition table and hard disk
- | parameters under MS-DOS. PART works with all
- | MS-DOS compatible hard disks and provides
- | additional low-level information on Integrated
- | Drive Electronics (IDE) disk controllers.
- | Allen notes that although there are powerful
- | partition editors available, all of them run
- | the risk of accidently changing these critical
- | disk parameters. Since PART is a read-only
- | display, the partition tables remain secure at
- | all times. PART includes full source in C and
- | claims compatability with the Borland C/C++
- | compiler. PART version 1.5, as released on
- | 10/27/93, now appears on CUG #410.
- 411_01/ Bram Moolenaar (Venlo, Netherlands) contributes
- | his Vi Improved editor (Vim) that supports
- | MS-DOS, Amiga, and most forms of Unix. Vim
- | claims near 100% of the functionality of the
- | classic "vi" Unix editor. Vim also includes
- | many embellishments on the original ideas and
- | thus adds unique functionality of its own. The
- | CUG Library edition includes full source in C
- | as well as pre-built executables for MS-DOS.
- | Vim version 2.0, as released 12/14/93, is now
- | available as CUG #411. 1/2
- 411_02/ Vi Improved (VIM) Editor 2/2
- 412_01/ Peter M. Bouthoorn (Groningen University,
- | Netherlands) submits his C++ search class
- | library with artificial intelligence
- | capabilities. AISEARCH is a tool for
- | developing problem solving software.
- | Basically, the library offers the programmer a
- | set of search algorithms that solve all kind
- | of different problems. When developing
- | problem solving software, the programmer
- | should concentrate on the representation of
- | the problem to be solved and should not the
- | implementation of the search algorithm used.
- | This AISEARCH implementation of a set of
- | search classes may be incorporated in other
- | software through C++ derivation and
- | inheritance. AISEARCH can be built in MS-DOS
- | with Borland C++ or MS C++ and on Unix using
- | GNU C++. AISEARCH, as released on 02/10/94,
- | is immediately available as CUG #412.
- 413_01/ CUG proudly announces two freeware programming
- | kits for the Sound Blaster digital audio cards
- | on a single diskette volume. The original
- | Sound Blaster card by Creative Labs, Inc. has
- | become the industry standard for PC digital
- | audio. Today, a plethora of Sound Blaster
- | (SB) compatible cards are available from many
- | vendors. Although SB cards have proliferated
- | widely, the knowledge required to program and
- | control their operation has not. The I/O and
- | DMA access protocol is critical for developers
- | creating MS-DOS based applications with SB
- | audio.
- 414_01/ Mark Hessling (Holland Park, Queensland,
- | Australia) offers his own full screen text
- | editor similar to IBM VM/CMS Xedit and
- | Mansfield Software's KEDIT. The THE text
- | editor uses both command line commands and key
- | bindings to operate. It has currently been
- | ported to SUNOS 4.1.x, Xenix-386, MS-DOS
- | (Borland C++ and MSC), Esix 4.0.3a, ATT
- | SystemV 3.2, Linux, 386BSD, and OS/2 2.1 (MSC,
- | C Set/2, Borland C++). The CUG distribution
- | of THE includes full source in C and a
- | prebuilt executable for use with MS-DOS. THE
- | version 1.5, as released on 01/12/93, is now
- | available as CUG #414. 1/3
- 414_02/ THE: Highly Portable Text Editor 2/3
- 414_03/ THE: Highly Portable Text Editor 3/3
- 415_01/ Arindam Banerji (Dept. of Computer Sci. & Eng,
- | University of Notre Dame) contributes his Run
- | Time Type Information library for C++. Run
- | Time Type Information (RTTI) is a C++ language
- | extension proposed by the ANSI C++ committee.
- | Although the extension is intended to
- | implemented as part of native C++ compilers,
- | it may be a long time before this comes to
- | fruition. Fortunately, Banerji's
- | implementation of RTTI as a C++ library means
- | that you can start taking advantage of it
- | right away. His system is loosely based on
- | the RTTI system demonstrated by Stousroup in
- | "The C++ Programming Language". RTTI for C++
- | works *ONLY* with Unix based C++
- | implementations due to file naming conventions
- | that are *INCOMPATIBLE* with MS-DOS. RTTI for
- | C++, as released on 11/03/93, is now available
- | is CUG #414. 1/2
- 415_02/ Run Time Type Information Library for C++ 2/2
- 416_01/ Nigel Salt (Crayford, Kent, U.K.) contributes a
- | variety of standalone tools and libraries with
- | source code in C for MS-DOS. This is the
- | first time source code for many of these tools
- | has been released. Some of the programs are
- | written specifically for Borland Turbo C while
- | others are intended for use with Microsoft C
- | (MSC). All programs are shareware with
- | reasonable registration fees ($15 or less) or
- | donationware (whatever you feel is
- | appropriate).
- 417_01/ Oleg Orel (Institute for High Energy Physics,
- | Protvino, Russia) presents his LIBFTP TCP/IP
- | library. LIBFTP provides an easy callable
- | interface for Unix programs to talk with FTP
- | servers as defined in RFC 959. The FTP (or
- | File Transfer Protocol) is the protocol of
- | choice for transferring files over the
- | Internet. As such, you could use this library
- | to write your own FTP client with a graphical
- | user-interface or perhaps as the basis of a
- | file-mirroring utility. LIBFTP works with
- | most popular Unix systems but cannot work with
- | MS-DOS. LIBFTP (as released on 10/28/93) is
- | immediately available as CUG #417. 1/2
- 417_02/ LIBFTP: easy interface to servers 2/2
- 418_01/ Roger Sayle (Dept. Computer Science, University
- | of Edinburgh, U.K.) contributes his molecular
- | graphics visualization system for Unix
- | XWindows and MS Windows. Specifically, RasMol
- | is intended for the visualisation of proteins
- | and nucleic acids. It reads Brookhaven
- | Protein Databank (PDB) files and interactively
- | renders them in a variety of formats on either
- | an 8-bit (see Fig. 2) or 24- to 32-bit colour
- | display. Documentation includes include
- | on-line help, hypertext documentation and the
- | previous (dated) version of the PostScript
- | user reference manual. RasMol version 2.3 (as
- | released on 03/04/94) is immediately available
- | on a 4 disk set as CUG #418. 1/5
- 418_02/ RasMol: Molecular Graphics Visualization 2/5
- 418_03/ RasMol: Molecular Graphics Visualization 3/5
- 418_04/ RasMol: Molecular Graphics Visualization 4/5
- 418_05/ RasMol: Molecular Graphics Visualization 5/5
- 419_01/ Dale Anderson (San Diego, CA) submits his a first
- | release of the collections specified by Object
- | Database Management Group - 93 (ODMG-93). This
- | work is based on the publication "The Object
- | Database Standard: ODMG-93" (ISBN
- | 1-55860-302-6). Although Anderson has no
- | personal affiliation with the ODMG, this work
- | nevertheless represents an important
- | contribution to the dissemination of this
- | conceptual model. His release contains
- | collection classes (see chapter 5), man pages
- | for each method, and a test suite for almost
- | all methods. The code itself has been tested
- | on an HP/UX 9.0 C++ compiler and GNU C++ also
- | on this platform. Anderson's ODMG-93
- | implementation for Unix (as released on
- | 03/02/94) is immediately available as CUG
- | volume #419.
- 420_01/ James L. Dean (New Orleans, LA) contributes his
- | VGAMAZE tools written for MS-DOS VGA graphics
- | with the Borland C++ 3.0 compiler. VGAMAZE
- | displays mazes with square (SQRMAZE.CPP) or
- | hexagonal rooms (HEXMAZE.CPP) in three
- | dimensions on your monitor. It includes a
- | template for one dimensional virtual arrays.
- | The plotting class can plot any surface
- | z=f(x,y). An example program for surfaces
- | (SPIKE.CPP) demonstrates that its good for
- | more than just mazes. The CUG Library
- | distribution includes all C++ source code and
- | executables for SQRMAZE, HEXMAZE, and SPIKE.
- | VGAMAZE version 4 (as released on 02/27/94) is
- | immediately available as CUG Library volume
- | #420A.
- 420_02/ Tatsurou Sekiguchi (Department of Information
- | Science, University of Tokyo, Japan) submits
- | his Coerce program which can convert many
- | graphic file formats popular on BBSes in
- | Japan. Specifically, it converts from one of
- | MAG, PI, PIC, MAKI, PPM, PBM, ML1, and beta
- | formats to one of MAG, PI, PIC, PPM, and beta
- | formats. Coerce can be compiled on any Sun
- | workstation running SunOs 4.1.3 with GNU C++
- | 2.4.5 or later. Others have reported good
- | success compiling Coerce on MIPS and RS/6000
- | machines. Sekiguchi also includes source for
- | a simple X Windows bitmap viewer. Coerce (as
- | released on 02/24/94) is immediately as CUG
- | Library volume #420B.
- 421_01/ Thomas Hagen (Trondheim, Norway) contributes his
- | RFVDEMO collection of high-speed VGA animation
- | demonstrations for MS-DOS. The animations
- | require the Borland C++ 3.1 compiler. There
- | are four main animation demonstrations
- | included: bitmap-rotation routine, fractal
- | zoomer, plasma, and voxelspace routine. These
- | are in addition to lower-level support
- | routines for keyboard handling, timer class,
- | and others. RFVDEMO version 0.1 (as released
- | on 01/17/94) is immediately available in a
- | three disk set as CUG volume #421. 1/3
- 421_02/ RFVVGA Graphics Animation Demo 2/3
- 421_03/ RFVVGA Graphics Animation Demo 3/3
- 422_01/ Dave Dunfield (Nepean, Ontario, Canada) submits
- | an entire suite of tools from the MICRO-C C
- | compiler development system. This includes
- | the MICRO-C C compiler itself for MS-DOS, more
- | than 70 useful sample programs with full C
- | source, and a demonstration version of MICRO-C
- | for embedded systems. MICRO-C is a tiny
- | compiler which can run with less than 32k RAM
- | and yet is highly independent of CPU and OS.
- | Specifically, platform support is available
- | separately for 68HC08, 6809, 68HC11, 68HC16,
- | 8051/52, 8080/8085, 80x86 and 8096 CPUs. The
- | CUG Library distribution includes a fully
- | functional MICRO-C compiler executable built
- | for the MS-DOS 80x86 environment. This
- | version generates code in .ASM format so
- | Microsoft MASM, Borland TASM, or equivalent
- | are required (not included). MICRO-C version
- | 3.02 (as released on 03/22/94) is immediately
- | available as CUG #422 in a set of four
- | diskettes. 1/4
- 422_02/ Micro-C C Compiler 2/4
- 422_03/ Micro-C C Compiler 3/4
- 422_04/ Micro-C C Compiler 4/4
- 423_01/ The CUG Library has always accommodated C/C++
- | archives both big and small. This month, I've
- | compiled an anthology of five outstanding but
- | small source archives. William Pierpoint
- | (Camarillo, CA) submits his comprehensive
- | library for stream-style record I/O. Karl
- | Hahn (Sarasota, FL) contributes a MIME binary
- | encode/decode routines for use with email
- | tools. Philip Erdelsky (San Diego, CA)
- | releases both source for general ledger
- | posting with 32-bit math library and a
- | Re-entrant DOS-Compatible File System for
- | embedded systems. Last, Keith Vertanen (Pine
- | Springs, MN) sends his brief but succinct
- | implementation of the BSPLINE rendering
- | algorithm. Again, all five archives are
- | immediately available on a single diskette as
- | CUG volume #423.
- 424_01/ Charles Sandmann (Houston, TX) submits the ED
- | editor with a user interface based on the DEC
- | VMS EDT editor. ED is a true multiplatform
- | editor and can be compiled and run on
- | virtually any platform. It includes
- | target-specific code for keyboard, screen, and
- | TCP/IP handling. This allows it to run on Unix
- | (IBM RS/6000, Sun Sparc, HP, NeXT or Alpha AXP
- | machines), MS-DOS, Windows NT, and OS/2
- | environments with ease. ED can edit any kind
- | of file in text, binary, or hexadecimal modes.
- | 1/2
- 424_02/ Ed Editor: Highly portable windowing editor 2/2
- 425_01/ Timor V. Shaporev (Moscow, Russia) contributes an
- | extremely versatile version of the classic
- | Unix TAR archiver and an innovative method of
- | delivering LZW compressed data over pipes.
- | Portable TAR works with both MS-DOS and Unix
- | compatible machines. Since more than half the
- | source code available from the Internet
- | appears in TAR format, you'll quickly find
- | this a valuable utility. Portable TAR reads
- | and writes archives in ordinary files, raw
- | floppies, and QIC-02 streamer tapes. It
- | understands regular TAR formats, PKZIP, gzip,
- | and Unix "compress".
- 426_01/ Patrick Ko Shu Pui (Hong Kong) submits his
- | LPC-Parcor-Cepstrum code generator for C. The
- | LPC-Parcor-Cepstrum code generator (hereafter,
- | LPC) can be built on most Unix platforms as
- | well as Microsoft C/C++ 7.0 and Borland Turbo
- | C v2.0. The primary use of this archive is
- | the manipulation and normalization of audio
- | data files. Specifically, it supports 8-bit
- | ulaw (SUN Sparc), 8-bit and 16-bit PCM data.
- | It then generates LPC autocorrelation or
- | covariance coefficients, Parcor (partial
- | correlation) coeefficients, or LPC cepstrum
- | coefficients.
- 427_01/ Christof Ruch (Clausthal, Germany) submits the
- | Multi Joystick Interface package. This
- | package makes it possible to connect up to six
- | digital joysticks (Atari type) to the parallel
- | port of your PC. For test (or two player
- | gaming) purposes, two joysticks can be
- | emulated by the keyboard, so you can try out
- | the games before you actually decide to build
- | an interface. Specifically, this archive
- | includes instructions for building the
- | interface, test programs for checking your
- | interface, and Pascal and C interface
- | routines. Several arcade type games have are
- | already publicly available for this system,
- | though none are included with the CUG archive.
- 428_01/ Jonathan Wood (Irvine, CA) contributes the PICTOR
- | text-mode video library. PICTOR is a C
- | callable library for MS-DOS development that
- | provides multi-pane stacked windows, pulldown
- | menus, and hypertext help. PICTOR is more than
- | just video: it also includes interrupt-driven
- | serial communications, CTRL-C and critical
- | error handler, on-screen clock, text
- | compression, and even a sample text editor.
- | 1/2
- 428_02/ Pictor Text-Mode Video Library for C/MS-DOS 2/2
- 429_01/ This volume combines three relatively small but
- | powerful archives on a single diskette. Walter
- | Karas (Cary, NC) submits C++ source code for a
- | simple MS-DOS chess game. Astute CUJ readers
- | will remember that Walter Karas also
- | contributed the SORTLIST AVL algorithms last
- | year on CUG #395. Russell Taylor (University
- | of North Carlina at Chapel Hill) contributes
- | archives for redirecting serial I/O and
- | accelerating the PC hardware clock.
- 430_01/ Christopher G. Phillips (University of Texas at
- | Austin) submits his "m68kdis" disassembler for
- | the Motorola 68000 family of CPU chips.
- | Disassemblers are system software that accepts
- | a binary executable as input and produces
- | assembly language source as output.
- | Specifically, m68kdis supports the full
- | instruction sets of the 68000, 68008, 68010,
- | 68020, and 68030 CPU chips. Additionally,
- | m68kdis decodes instructions for the 68851
- | Paged Memory Unit and the 68881/68882
- | Floating-Point Coprocessors. The Motorola
- | 68000 family chips power millions of computers
- | including the Macintosh, Atari, Amiga, and
- | many embedded CPU industrial applications. The
- | CUG Library edition of m68kdis includes full
- | source in C (no executables are provided). The
- | m68kdis disassembler is immediately available
- | as CUG volume #441.
- 431_01/ Kyle A. York (McGraw Hill School Systems) submits
- | his Remote Installable File System for DOS.
- | The Remote Installable File System provides a
- | LAN linking two computers through the serial
- | port so they may share resources. RIFS
- | installs itself as a TSR using the MSCDEX
- | convention for installable file systems.
- | Shareable resources are currently limited to
- | available disk drives including hard disks,
- | CD-ROM, and network drives. RIFS also
- | supports the redirection of a client parallel
- | port to a file or device on the server. RIFS
- | supplies 32-bit Cyclic Redundancy Check (CRC)
- | to guarantee error-free file transfers. The
- | CUG Library distribution includes full source
- | in C and ASM as well as MS-DOS executables.
- | RIFS for DOS (released 10/08/94) is
- | immediately available as CUG volume #431.
- 432_01/ Andrew Scott (Mosman Park, Australia) submits his
- | PTMID music conversion utility. Specifically,
- | PTMID takes General MIDI files (format 0 or 1)
- | and converts them to Protracker MOD files or
- | Multitracker MTM files. As you may know, MIDI
- | files are industry standard, but need some
- | sort of sequencer to be played. This is
- | because there can be near-infinite
- | simultaneous notes present (though about 20 is
- | a standard maximum). Protracker files are 4
- | channel (though 6, 8, or more can be
- | supported) files, but have a bank of digitized
- | instruments included. This allows reasonable
- | quality sound to be produced given limited
- | hardware. Multitracker files are similar to
- | MOD files and support up to 32 simultaneous
- | notes. PTMID version 0.3 (released on
- | 07/18/94) is immediately available on CUG
- | Library volume #432A.
- 433_01/ Stephen L. Balkum and Daniel A. Sill (Zephyr
- | Software, Austin, TX) submit their MS-DOS
- | real-mode SVGA graphics library for MSC,
- | Borland C, and Symantec C/C++. SVGACC
- | provides an easy interface to the high
- | resolution/high color video modes of the newer
- | SVGA video cards. There has been no standard
- | for VGA video cards above the 320x200x256
- | resolution. Instead, each video card
- | manufacturer has implemented a slightly
- | different method to access these high
- | resolution/high color video modes. SVGACC
- | automatically identifies the video card and
- | its installed memory. Users may write
- | graphics programs that will work on most any
- | SVGA card without writing specific versions
- | for each individual SVGA card. Over 100
- | functions support sprite animation, drawing
- | primitives, fills, 3-D views and much more.
- | SVGACC is written in 100% assembly language
- | and uses 80386 32-bit registers for the best
- | possible speed. SVGACC version 2.1 (as
- | released on 05/09/94) is immediately available
- | as CUG volume #433.
- 434_01/ Nicholas Centanni (Los Gatos, CA) submits his 3-D
- | graphics class library for Borland C++ 3.1
- | (and later). XYZ++ is a comprehensive package
- | of optimized C++ classes for both floating
- | point and fixed point 3D graphics. 1/2
- 434_02/ XYZ++: 3-D C++ Graphics Lib 2/2
- 435_01/ Jason Hughes (Abilene, TX) submits his VESA SVGA
- | graphics demonstration that includes many
- | other programming elements essential to
- | writing MS-DOS games. The graphics
- | demonstrations take you through many
- | fast-moving animations that show off the VESA
- | 640x480x256 color display mode. I was
- | particularly impressed with its speed even on
- | my slow 80386DX-20Mhz CPU. Additional
- | graphics routines show off the virtual paging
- | capabilities of SVGAs with more than 1MB RAM
- | onboard. The CUG Library distribution of
- | VesaTest includes full source code in Borland
- | C++ v3.1 along with MS-DOS executables.
- | VesaTest version 2 (as released on 07/20/94)
- | is immediately available as CUG #438.
- 436_01/ Richard Zigler (McBain, MI) submits his INput
- | CONtrol (INCON) library for developing
- | sophisticated data input screens in MS-DOS
- | applications. INCON gives you control over the
- | placement and appearance of input fields, and
- | the type and amount of data that each will
- | accept. Input fields may be alphanumeric,
- | uppercase, integer, or floating-point. The
- | INCON library support Borland Turbo C 2.01 (or
- | later) and will build Compact, Small, Medium,
- | or Large memory model versions. INCON version
- | 3.1 (as released on 10/08/94) is immediately
- | available as CUG #436
- 437_01/ C/C++ Exploration Tools for Windows, by Juergen
- | Mueller (Kornwestheim, Germany), includes both
- | his C Function Tree Generator (CFT) and the C
- | Structure Tree Generator (CST). CFT and CST
- | analyse the C/C++ source code of applications
- | of any size with multiple files. CFT and CST
- | are useful to explore new, unknown software
- | and to support re-use, maintenance and
- | re-engineering. By preprocessing, scanning,
- | and analysing the program source code, these
- | programs generate the function call hierarchy
- | (CFT) and the data structure/class (CST)
- | relations. Both programs can handle C and C++
- | code, CFT can additionally analyse assembler
- | code. The C Exploration Tools for Windows
- | executables (released 09/11/94) are
- | immediately available as CUG volume #437. 1/2
- 437_02/ C/C++ Exploration Tools for Windows 2/2
- 438_01/ Riku Saikkonen (Finland) submits his telnet
- | client for MS-DOS which uses the serial port
- | as the I/O device. Although designed for
- | Bulletin Board System (BBS) applications,
- | STELNET works equally well without any BBS
- | software. STELNET requires a FOSSIL driver
- | and the Waterloo TCP library. It supports
- | binary mode telnet (8-bit), and a '8-bit clean
- | mode', in which all 256 characters are cleanly
- | transferred in both directions. STELNET does
- | not do any terminal emulation of its own; it
- | should never change the data transferred
- | (except where protocol requirements
- | designate).
- 439_01/ David Pyles (Jackson, MS) offers his DOS Extender
- | Library for producing Protected Mode MS-DOS
- | applications. XLIB is an assembly language
- | library which greatly simplifies
- | protected-mode programming under Microsoft
- | DOS. With only two calls to XLIB, assembly
- | language programs can utilize the simplicity
- | and power of 32-bit processing. C and C++
- | programs can harness the powers of 16-bit
- | protected mode using inline assembly.
- | Additionally, the XLIB archive contains a
- | second library call EASYX which allows all
- | high-level languages to gain access to
- | extended memory.
- 440_01/ George Vanous (Delta, BC) submits his library of
- | essential and efficient C-callable functions.
- | Although oriented towards MS-DOS, many of the
- | algorithms are relevant on other platforms
- | such as Windows and Unix. BESTLibrary consists
- | of 282 functions coded in assembler and 68
- | functions written in C. All calls require far
- | pointers (e.g. Large memory model).
- 441_01/ George Vanous' also submits his VGA Editor for
- | editing and animating graphics images with
- | full mouse support. The VGA Editor creates
- | graphics files that are fully portable into C
- | and Pascal programs in conjunction with
- | BESTLibrary (CUG #440). The editor is ideal
- | for drawing small pictures and animations for
- | use with 16-color VGA modes. VGA Editor will
- | also read in Windows .ICO files for editing
- | (but does not yet support writing them). The
- | editor can accomodate multiple-frame
- | animations in a single editing session. Fig.
- | 1 shows the zoom style of editing on a single
- | frame.
- 442_01/ Ted Jensen (Redwood City, CA) has contributed his
- | manuscript "A Tutorial on Pointers and Arrays
- | in C" to help novice C programmers learn
- | proper usage of these critical language
- | elements. Looking back to my own
- | apprenticeship in C more than 10 years ago, I
- | still have vivid memories of my trials with
- | pointers. Jensen's work is based on a
- | tutorial originally found in Bob Stout's
- | popular "SNIPPETS" C code collection.
- 443_01/ Martin Steppler (Aachen University of Technology,
- | Germany) submits the Communication Networks
- | Class Library (CNCL), a C++ library created by
- | the Communication Networks department of
- | Aachen. CNCL is both a class library featuring
- | generic C++ classes as well as a simulation
- | library with strong points in random number
- | generation, statistics, and event-driven
- | simulation.
- 444_01/ Mendel Cooper (Grantsville, MD) contributes a
- | volume of MS-DOS games: Wordy, ChessClock, and
- | Chaos Game. Wordy is an educational word-game
- | study system that builds pattern and word
- | recognition skills used in Scrabble (tm) and
- | Boggle (tm). The Wordy practice game checks
- | words you unscramble against a 100,000 word
- | dictionary. Wordy also includes standalone
- | Search, Anagram, UnScramble, and word-pattern
- | find utilities. A BINGO utility looks up all
- | valid permutations of letters of a word. The
- | 1DIF utility finds all legal words constructed
- | by substituting a single letter.
- 445_01/ Mendel's second volume includes an eclectic
- | mixture of ten different text and graphics
- | utility and algorithm demonstrations.
- 446_01/ The Are Magnus Bruasat of the SINTEF group at the
- | University of Oslo (Norway) submits Diffpack:
- | a fully object-oriented framework in C++ for
- | solution of Partial Differential Equations
- | (PDEs). PDEs often arise in the mathematical
- | modeling of physical processes involving for
- | example fluid mechanics or waves. Some
- | typical uses of Diffpack include standard
- | model PDEs, 3D linear wave equation,
- | incompressible Navier-Stokes, and stochastic
- | ODEs. Diffpack can interface with gnuPlot and
- | plotmtv. You can even construct MPEG movies
- | from multiple visualization frames.
- 447_01/ Michael F. Watson and Dean Lance Smith contribute
- | RELAY: an interactive overload protection
- | design tool for electrical engineers. Relay
- | plots the time-current characteristics of
- | overcurrent protection devices and coordinates
- | the overcurrent protection devices at an
- | electric distribution substation. The source
- | code is entirely in C and includes makefiles
- | for the Microsoft C compiler.. The RELAY.EXE
- | executable requires MS-DOS and VGA display.
- 448_01/ Surojit Chatterjee and Dean Lance Smith submit a
- | tool for detecting digital circuit problems
- | via signature analysis. Signature analysis is
- | a technique used in servicing
- | microprocessor-based systems. With this
- | technique, an instrument called a signature
- | analyzer is used to check a digital circuit by
- | detecting the bit streams at various nodes of
- | the circuit. The bit streams are displayed as
- | hexadecimal signatures. The actual signature
- | of a node is compared with its predetermined
- | correct signature. The result of the
- | comparison is used to trace faults in the
- | system down to the component level. This
- | distribution includes complete source in C and
- | MS-DOS executables. The source supports
- | Borland Turbo C but could possibly be ported
- | to other environments. Signature analysis v1.0
- | is now available on CUG CD-ROM as volume #448
- 449_01/ Nullsock, by Jean-Michel Mercier (Paris, France),
- | is a Winsock simulator which allows you to run
- | Winsock applications offline. This is most
- | useful for forcing a web browser to work on
- | offline copies of HTML files that you have
- | downloaded. You might want to do this because
- | you're "on the road" with a portable computer
- | but without a immediate Internet connection or
- | perhaps to avoid paying online charges to view
- | material you've already downloaded several
- | times. Nullsock works by loading a dummy
- | WINSOCK.DLL with its entry points replaced by
- | stubs. You can either run Nullsock directly
- | or use Nullsock to spawn the desired
- | application. Nullsock was designed to work
- | with Windows 3.11 and has been tested with
- | Netscape and AIR Mosaic. It will work with
- | Windows 95, but only when running 16-bit
- | Winsock applications. Nullsock includes
- | complete C source and compiles with Borland C.
- | Nullsock version 1.0 is available on CUG
- | CD-ROM as volume #449.
- 450_01/ Klamer Schutte of the TNO Physics and Electronics
- | Laboratory (The Hague, Netherlands)
- | contributes the CpppIma image processing class
- | library. CppIma library provides an interface
- | to common operations on images for C++
- | applications. The operations include file I/O,
- | image creation, iterators for traversing
- | images, and histogram creation. The library's
- | is enabling easy construction of image
- | processing programs. Secondarily, Schutte
- | hopes to achieve reasonable performance and
- | create an image library independent API.
- 451_01/ Schutte has also contributed ClipPoly, an
- | extended C++ polygon clipping library with set
- | operators. Classical clipping algorithms will
- | tell you whether a point "x" is withing a
- | given polygon "A". ClipPoly handles the more
- | general case of two polygons "A" and "B" where
- | you want to know the areas of intersection of
- | "A" and "B", "A" minus B", and "B" minus "A".
- | Although the Weiler-Atherton algorithm already
- | solves this case, Schutte presents a simpler
- | but just as effective algorithm. The ClipPoly
- | algorithm requires only that all polygons are
- | non-self-intersecting (i.e. there are no
- | "holes").
- 452_01/ Sean Gordon (Fife, Scotland) submits Freedock, a
- | Windows "dock" program that includes the full
- | source code in C. A dock is kind of a
- | miniature version of Program Manager that
- | holds icons for the small number of
- | applications that you use most often. Freedock
- | also remembers your preferred window geometry
- | for each application that you register with
- | it. This saves you from the burden of
- | re-arranging your windows each time you
- | startup an application. A "previewer" allows
- | you to check or change the window geometry
- | without actually launching the applications.
- | The entire dock can be scaled in a way similar
- | to the MS Office Manager dock.
- 453_01/ Jean-Claude Wippler (Houten, Netherlands)
- | contributes his MetaKit, a compact class
- | library for data storage and easy manipulation
- | of structured objects and collections in C++.
- | MetaKit works with any C++ compiler that
- | supports Microsoft Foundation Classes
- | including VC++, Borland C++, and Symantec C++.
- | MetaKit allows your data to be loaded on
- | demand, which allows you access to any size
- | files. It uses traditional database metaphors
- | of begin work/commit work/ rollback work with
- | automatic file storage allocation and
- | reclamation. MetaKit allows data to be
- | "flattened" for efficient streaming over
- | sockets and pipes. It encapsulates data in
- | terms of view, row, and property classes. Data
- | can be conveniently accessed via "[]" and "()"
- | by operator overloading. Applications can
- | statically link MetaKit or load it as a DLL.
- 454_01/ Beat Rigazzi (Oberonz, Switzerland) submits the
- | Sound Wizards Module Player (SWMP), a driver
- | for playing .MOD sound files through any
- | digital audio card (SoundBlaster compatible).
- | The .MOD audio file format The .MOD file is a
- | multichannel sampled audio file which supports
- | 4, 6, or 8 simultaneous channels. The .MOD
- | file has fewer limitations than the .WAV file
- | and for that reason has become widely used by
- | electronic music and game producers. SWMP
- | includes several example .MOD tracks for you
- | to experiment with and a standalone MS-DOS
- | player program (SWMP.EXE). SWMP provides an
- | API and calling interfaces for Borland C/C++,
- | Assembler, and Pascal. You can integrate the
- | library simply by including the header file
- | and linking in MOD_DRV.OBJ (source not
- | provided).
- 455_01/ Oleg Kiselyov (Denton, TX) offers his Advanced
- | I/O C++ Class Library which enhances the
- | capabilities of stream I/O with encoding and
- | compression. Some of these features include:
- | * Filenames with pipes embedded * Explicit
- | Endian I/O of short/long integers (guarantees
- | portability) * Stream sharing of different I/O
- | types * Simple variable-length coding of short
- | integers * Arithmetic compression of a stream
- | of integers
- 456_01/ Kerwin F. Medina (New Westminster, BC)
- | contributes LZHLIB, a small C library with the
- | minimum code neccessary to compress and
- | uncompress using the LZH algorithm. This
- | library is a direct derivative of the source
- | cod of Haruhiko Okumura's popular "ar"
- | archiver. Medina has created the library so
- | an application can make use of compression
- | with a function call and without having to
- | spawn an external compression program. The
- | library has only two API functions:
- | "lzh_freeze" (to compress) and "lzh_melt" (to
- | decompress). In both cases, the caller only
- | has to provide the I/O functions and memory
- | allocation functions. The interface is simple
- | enough that you can integrate it with fewer
- | than 20 additional lines of code in your
- | program. LZHLIB can be built on MS-DOS,
- | Unix, and other platforms. LZHLIB as released
- | on 04/18/96 is now available on the CUG
- | CD-ROM.
- 457_01/ Gray Watson (Pittsburgh, PA) submits dmalloc, the
- | debug memory allocation library. The dmalloc
- | library has been designed as a drop-in
- | replacement for C runtime malloc(), realloc(),
- | calloc(), free() and other memory management
- | routines. It provides many debugging
- | facilities that you can configure at runtime,
- | including: memory-leak tracking, fence-post
- | write detection, file/line number reporting,
- | and general logging of statistics.
- 458_01/ Kiselyov Oleg (Denton, TX) contributes Grayimage,
- | a C++ class library for dealing with
- | full-depth grayscale images. Grayimage
- | upports all standard image algebra/arithmetics
- | including dealing with image slices, histogram
- | equalization, and computing various norms and
- | scalar products. The package reads and writes
- | PGM, XWD and Group G (grayscale) TIFF file
- | formats with automatic recognition of the
- | input image file format. It's possible to
- | assign one image to another to fit, no matter
- | what their dimensions are.
- 459_01/ Alex Hunger (Adlington, Lancashire UK) submits
- | MMND, a game that puts the computer in the
- | role of "codebreaker" in the classic
- | MasterMind (TM) boardgame. The interesting
- | aspect of Hunger's implementation is that the
- | computer can guess a pattern that you choose.
- | It uses an optimal information-theoretic
- | algorithm and so plays extraordinarily well --
- | better than any human being. This takes a lot
- | of computation, so patterns chosen are stored
- | in a data file so a computation never needs to
- | be made twice. The patterns chosen are put
- | through a randomizing algorithm that makes the
- | game more interesting to play, without losing
- | optimality.
- 460_01/ M.A. Sridhar of faculty of the University of
- | South Carolina (Columbia, SC) contributes "Yet
- | Another Class Library (YACL), an innovative
- | cross-platform application framework. YACL is
- | a C++ class library that offers high-level
- | abstractions for common programming problems.
- | Its design goal is to be both
- | application-centric and take advantage of C++
- | facilities (e.g. operator overloading and
- | templates) wherever possible. YACL implements
- | both scalar (String, Integer, Date, etc.) and
- | container (sequence, set, tree, etc.) core
- | classes. The GUI classes are based on a
- | variation of the model view controller (MVC)
- | paradigm. YACL supports all expected GUI
- | objects (menus, dialogs, buttons, listboxes,
- | button groups, etc) and resources (cursors,
- | fonts, pens, colors and brushes).
- 461_01/ Dean Lance Smith and Mohammad Musa present their
- | paper "Two Software Data Organizations that
- | Support Railroad Signalling" and accompanying
- | C source. This program models a control
- | system capable of understanding an entire
- | railroad line composed of any combination of
- | Automatic Blocking System (ABS) and
- | Centralized Traffic Control (CTC) blocks. In
- | railroad parlance, a "signal block" or
- | "block", is a length of rail track that is
- | controlled by a block signal. A block may
- | contain two or more tracks in various track
- | configurations. Most blocks have at least one
- | main track. Two or more main tracks may also
- | be in parallel in a block. A block may also
- | contain lines that cross the main track(s),
- | turnouts, branch lines, or sidings. Two or
- | more blocks constitute a rail line.
- 462_01/ Ed Ream (Madison, WI) submits the Sherlock 2.0
- | set of debugging tools for Macintosh as CUG
- | volume 462. Longtime CUJ readers may recall
- | earlier incarnations as Sherlock 1.7 for
- | MS-DOS (CUG 355) and Macintosh (CUG 356).
- | Sherlock is a debugging tool different from
- | currently popular interactive debugging tools
- | such as CodeView. Sherlock uses C macro
- | expansion capabilities to implant debugging
- | calls and functions without manual coding.
- | Those calls are enabled/disabled from the
- | command line and removing those calls from the
- | source is also done automatically. Sherlock
- | uses far less memory than a full-size
- | debugger. In addition, Sherlock provides
- | detailed statistics about your program.
- 463_01/ Leonard Janke (University of British Columbia,
- | Vancouver) contributes LInteger, a C++ library
- | that empowers you to create and perform
- | arithmetic on objects representing nearly
- | arbitrary precision integers. Thanks to C++
- | support for operator overloading, the use of
- | the large integers in this library should be
- | nearly as easy as the use of regular int
- | types. In many cases, converting your
- | application to use LInteger can be as simple
- | as substituting "LInteger" for "int" in your
- | editor.
- 464_01/ B.T. Szocik (Ottawa, Ontario) submits the
- | Miracle C compiler, a complete language and
- | runtime implementation for MS-DOS. Szocik
- | intends Miracle C to be used primarily as a
- | teaching support tool. Miracle C supports
- | only the Small memory model (code < 64K, data
- | < 64K). Pointers are always 16-bit; no "far"
- | extensions are allowed. All K&R C syntax and
- | data types are fully supported (plus some ANSI
- | extensions), there's nothing small about the
- | language implementation.
- 465_01/ Victor R. Volkman (Ann Arbor, MI) contributes his
- | "Fader" custom control for Windows, a slider
- | control for use with Windows 3.1 and
- | compatible environments. The Fader is a
- | custom control designed to return a continuous
- | range of values based on the position of a
- | thumb that slides along a rail. This idea is
- | similar to the Windows scrollbar in many
- | respects. Since the scrollbar is almost
- | inseparably associated with scrolling the
- | client area, it quickly becomes unfamiliar in
- | other contexts. The fader provides an analog
- | range in the same way the potentiometers are
- | used in a stereo equalizer or mixer. For
- | example, a fader could be used to apply
- | equalization to a waveform or to regulate the
- | hue of a color.
- 466_01/ Eric Artzt of Microsoft Corporation (Bellevue,
- | WA) releases Autoduck, a Windows 95/Windows NT
- | console utility that extracts specially tagged
- | comment blocks from C/C++, Visual Basic, and
- | Assembly source files. Autoduck formats the
- | information in the comment blocks and produces
- | documentation files in Rich Text Format (RTF)
- | for use with Microsoft Word or the Windows
- | Help Compiler. Autoduck can also produce HTML
- | files for Internet or intranet use.
-